package com.drg.center.entity.param;

import com.drg.center.entity.constants.BusinessDictCodeConstant;
import com.guaike.core.entity.annotation.ConditionBy;
import com.guaike.core.entity.annotation.IsDictValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @Author: zhangxilin
 * @Date: 2024/5/14
 */
@Data
@ApiModel("分组预测入参DTO")
public class GroupPredictionDTO implements Serializable {

    @ApiModelProperty("性别(1:男，2：女)")
    private Integer sex;

    @ApiModelProperty("年龄,岁")
    private Integer age;

    @ApiModelProperty("年龄,天")
    private Integer ageDay;

    @ApiModelProperty("医保类型")
    private Integer medicareType;

    @ApiModelProperty("总费用")
    @Min(value = 0, message = "总费用必须大于0元")
    @NotNull(message = "总费用不能为空")
    private BigDecimal totalCost;

    @ApiModelProperty("住院天数")
    @Min(value = 1, message = "总费用必须大于1天")
    private Integer inpatientDays;

    @ApiModelProperty("主要诊断编码")
    @NotBlank(message = "主要诊断编码不能为空")
    private String diagnosisCode;

    @ApiModelProperty("其他诊断编码")
    private List<String> diagnosisCodeList;

    @ApiModelProperty("主要手术操作编码")
    private String operationCode;

    @ApiModelProperty("其他手术操作编码")
    private List<String> operationCodeList;

}
